home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / RISESET.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  10.3 KB  |  453 lines

  1. 10  'RISESET - Sunrise/Sunset - 17 JUN 94  rev. 28 SEP 96
  2. 20  'based on DAYLIGHT program, HAM-SOFT disk# 1247
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  PROG$="riseset"
  5. 50  COMMON EX$,BASEONLY,PROG$
  6. 60  BASEONLY=1             'lat/long database
  7. 70  '
  8. 80  CLS:KEY OFF
  9. 90  COLOR 7,0,1
  10. 100  UL$=STRING$(80,205)
  11. 110  DIM M$(12)
  12. 120  AM$=" a.m.":PM$=" p.m."
  13. 130  PI=3.14159
  14. 140  '
  15. 150  DATA Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
  16. 160  FOR Z=1 TO 12:READ M$(Z):NEXT Z
  17. 170  '
  18. 180  '.....start
  19. 190  CLS
  20. 200  COLOR 15,2
  21. 210  PRINT " SUNRISE / SUNSET";TAB(57);"by George Murphy VE3ERP ";
  22. 220  COLOR 1,0:PRINT STRING$(80,223);
  23. 230  COLOR 7,0
  24. 240  '
  25. 250  T=6:Q$=CHR$(34)
  26. 260  PRINT TAB(T);
  27. 270  PRINT "This program calculates sunrise and sunset times anywhere on earth"
  28. 280  PRINT TAB(T);
  29. 290  PRINT "by entering the latitude and longitude of the desired location."
  30. 300  PRINT
  31. 310  PRINT TAB(T);
  32. 320  PRINT "You can find the latitude and longitude of many places in the"
  33. 330  PRINT TAB(T);
  34. 340  PRINT "world by running HAMCALC's ";Q$;"LATITUDE/LONGITUDE DATA BASE";Q$;
  35. 350  PRINT " program."
  36. 360  PRINT
  37. 370  COLOR 0,7:LOCATE CSRLIN,T
  38. 380  PRINT " Press 1 to continue or 0 to EXIT....."
  39. 390  COLOR 7,0
  40. 400  Z$=INKEY$:IF Z$=""THEN 400
  41. 410  IF Z$="0"THEN CLS:RUN EX$
  42. 420  IF Z$="1"THEN 450
  43. 430  GOTO 400
  44. 440  '
  45. 450  LOCATE CSRLIN-1
  46. 460  PRINT TAB(T);
  47. 470  PRINT "This program requires entry of latitude and longitude in decimal"
  48. 480  PRINT TAB(T);
  49. 490  PRINT "degrees. If you wish to convert degrees/minutes/seconds values to"
  50. 500  PRINT TAB(T);
  51. 510  PRINT "decimal degrees, you can do so by running the LATITUDE/LONGITUDE"
  52. 520  PRINT TAB(T);
  53. 530  PRINT "DATA BASE program."
  54. 540  PRINT
  55. 550  COLOR 15,2:LOCATE CSRLIN,T
  56. 560  PRINT " Do you want to run the LATITUDE/LONGITUDE DATA BASE  now?    (y/n) "
  57. 570  COLOR 7,0
  58. 580  Z$=INKEY$
  59. 590  IF Z$="y"OR Z$="Y"THEN CLS:CHAIN"latlong"
  60. 600  IF Z$="n"OR Z$="N"THEN 630
  61. 610  GOTO 580
  62. 620  '
  63. 630  '.....inputs
  64. 640  VIEW PRINT 3 TO 23:CLS:VIEW PRINT:LOCATE 3
  65. 650  INPUT " ENTER: LATITUDE in decimal degrees ( minus if south )....";Z1
  66. 660  IF Z1<0 THEN Z1$="S"ELSE Z1$="N"
  67. 670  LAT=Z1*0.0174533
  68. 680  '
  69. 690  ZONE=ZON*PI/180
  70. 700  INPUT " ENTER: LONGITUDE in decimal degrees ( minus if west )....";X:Z2=-X
  71. 710   FOR Z=0 TO 12
  72. 720    IF ABS(Z2)>=Z*15-7.5 THEN ZON=Z*SGN(Z2)
  73. 730   NEXT Z
  74. 740  ZONE=ZON*15*PI/180
  75. 750  IF Z2<0 THEN Z2$="E"ELSE Z2$="W"
  76. 760  LONG=Z2*0.0174533
  77. 770  '
  78. 780  CLS
  79. 790  PRINT " LOCATION: (decimal degrees)";USING "####.##";ABS(Z1);:PRINT "<UNK! {00F8}>";Z1$;
  80. 800  PRINT USING"####.##";ABS(Z2);:PRINT "<UNK! {00F8}>";Z2$
  81. 810  PRINT UL$;
  82. 820  '
  83. 830  INPUT " ENTER: YEAR (yyyy)..................................";H
  84. 840  INPUT " ENTER: MONTH (1-12).................................";I
  85. 850  I$=M$(I)
  86. 860  INPUT " ENTER: DAY of month (1-31)..........................";J
  87. 870  LOCATE 1,56:PRINT "DATE: ";I$;J;H
  88. 880  '
  89. 890  '.....local standard time
  90. 900  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  91. 910  STC=-ZON      'solar time zone
  92. 920  PRINT " This location is in SOLAR TIME ZONE";USING "+##";STC;
  93. 930  PRINT " (UTC";USING "+##";STC;:PRINT " hours)"
  94. 940  PRINT
  95. 950  PRINT " PRESS letter in < > to describe the LOCAL STANDARD TIME ";
  96. 960  PRINT "in this zone:"
  97. 970  PRINT UL$;
  98. 980  L$="( local solar time "
  99. 990  PRINT "  < a >  UTC"; USING "+##";STC+2;:PRINT TAB(20);L$;"+2 hr.)"
  100. 1000  PRINT "  < b >  UTC"; USING "+##.#";STC+1.5;:PRINT TAB(20);L$;"+1 1/2 hr.)"
  101. 1010  PRINT "  < c >  UTC"; USING "+##";STC+1;:PRINT TAB(20);L$;"+1 hr.)"
  102. 1020  PRINT "  < d >  UTC"; USING "+##.#";STC+0.5;:PRINT TAB(20);L$;"+1/2 hr.)"
  103. 1030  '
  104. 1040  COLOR 0,7:LOCATE CSRLIN,2
  105. 1050  PRINT " < e >  UTC"; USING "+##";STC+0;
  106. 1060  PRINT TAB(20)"( SAME AS LOCAL SOLAR TIME ) "
  107. 1070  COLOR 7,0
  108. 1080  '
  109. 1090  PRINT "  < f >  UTC"; USING "+##.#";STC-0.5;:PRINT TAB(20);L$;"-1/2 hr.)"
  110. 1100  PRINT "  < g >  UTC"; USING "+##";STC-1;:PRINT TAB(20);L$;"-1 hr.)"
  111. 1110  PRINT "  < h >  UTC"; USING "+##.#";STC-1.5;:PRINT TAB(20);L$;"-1 1/2 hr.)"
  112. 1120  PRINT "  < i >  UTC"; USING "+##";STC-2;:PRINT TAB(20);L$;"-2 hr.)"
  113. 1130  PRINT UL$;
  114. 1140  IF(STC>=-10)AND(STC<=10)THEN 1180
  115. 1150  PRINT TAB(15)"CALL"
  116. 1160  PRINT TAB(15)"CLSSOUND hours over 12 in this column refer to the time on"
  117. 1170  PRINT TAB(15)"   the opposite side of the International Date Line."
  118. 1180  Z$=INKEY$:IF Z$=""THEN 1180
  119. 1190  IF Z$="a"THEN LST=2
  120. 1200  IF Z$="b"THEN LST=1.5
  121. 1210  IF Z$="c"THEN LST=1
  122. 1220  IF Z$="d"THEN LST=0.5
  123. 1230  IF Z$="e"THEN LST=0
  124. 1240  IF Z$="f"THEN LST=-0.5
  125. 1250  IF Z$="g"THEN LST=-1
  126. 1260  IF Z$="h"THEN LST=-1.5
  127. 1270  IF Z$="i"THEN LST=-2
  128. 1280  '
  129. 1290  '.....daylight saving
  130. 1300  VIEW PRINT 4 TO 24:CLS:VIEW PRINT:LOCATE 4
  131. 1310  PRINT UL$;
  132. 1320  PRINT " PRESS number in < > to describe DAYLIGHT SAVING TIME in this zone:"
  133. 1330  PRINT UL$;
  134. 1340  PRINT "   < 1 > 1 hour  ahead of Local Standard Time"
  135. 1350  PRINT "   < 2 > 2 hours ahead of Local Standard Time"
  136. 1360  PRINT
  137. 1370  PRINT "   < 0 > Not Applicable"
  138. 1380  Z$=INKEY$:IF Z$=""THEN 1380
  139. 1390  IF Z$="0"THEN DST=0:GOTO 1440
  140. 1400  IF Z$="1"THEN DST=1:GOTO 1440
  141. 1410  IF Z$="2"THEN DST=2:GOTO 1440
  142. 1420  GOTO 1380
  143. 1430  '
  144. 1440  'format screen
  145. 1450  CA=41:CB=55       'columns A & B
  146. 1460  VIEW PRINT 2 TO 24:CLS:VIEW PRINT:LOCATE 2
  147. 1470  PRINT UL$;
  148. 1480  COLOR 14,1
  149. 1490  LOCATE 2,CA:PRINT " SUNRISE "
  150. 1500  LOCATE 2,CB:PRINT " SUNSET "
  151. 1510  LOCATE 2,CB+13:PRINT " Daylight "
  152. 1520  COLOR 7,0
  153. 1530  PRINT " Local SOLAR Time.......................
  154. 1540  PRINT " Local STANDARD Time....................
  155. 1550  PRINT " Local DAYLIGHT SAVING Time.............
  156. 1560  PRINT " UNIVERSAL COORDINATED Time (UTC/GMT)...
  157. 1570  PRINT " Declination of Earth's axis............
  158. 1580  PRINT UL$;
  159. 1590  '
  160. 1600  '.....day of year
  161. 1610  K=INT((I+9)/12)
  162. 1620  X=H/4
  163. 1630  Y=INT(X)
  164. 1640  Z=X-Y
  165. 1650  IF Z=0 THEN 1670
  166. 1660  K=K*2
  167. 1670  H=INT(275*I/9)
  168. 1680  H=H+J-K-30
  169. 1690  '
  170. 1700  'SUNRISE ***********************************************************
  171. 1710  '.....rising phenomena
  172. 1720  I=0
  173. 1730  J=PI/2
  174. 1740  GOSUB 2570
  175. 1750  '
  176. 1760  '.....local solar time
  177. 1770  R=-0.0145439
  178. 1780  GOSUB 3030
  179. 1790  IF V<>0 THEN 1860
  180. 1800   IF SGN(LAT)=SGN(Q) THEN SUN$=" above "ELSE SUN$=" below "
  181. 1810   COLOR 14,1:LOCATE CSRLIN,13
  182. 1820   PRINT " The sun is";SUN$;"the horizon for 24 hours on this day. "
  183. 1830   COLOR 7,0
  184. 1840   GOTO 2510
  185. 1850  '
  186. 1860  SUNR=V+W/60   'sunrise - decimal hours
  187. 1870  LOCATE 3,CA+2:PRINT V$
  188. 1880  '
  189. 1890  '.....local standard time
  190. 1900  W$=V$:ADD=LST:GOSUB 4210
  191. 1910  LOCATE 4,CA+2:PRINT W$;AM$
  192. 1920  '
  193. 1930  '.....daylight saving time
  194. 1940  ADD=DST
  195. 1950  IF DST=0 THEN W$="N/A":GOTO 1970
  196. 1960  GOSUB 4210
  197. 1970  LOCATE 5,CA+2:PRINT W$;
  198. 1980  IF W$<>"N/A"THEN PRINT AM$ ELSE PRINT ""
  199. 1990  '
  200. 2000  '.....UTC
  201. 2010  V=U:FLAG=1:GOSUB 3290
  202. 2020  LOCATE 6,CA+2:PRINT V$;"z"
  203. 2030  '
  204. 2040  '.....declination
  205. 2050  DCL=Q*180/PI
  206. 2060  NOON=DCL
  207. 2070  LOCATE 7,CA+1:PRINT USING "+##.###";DCL;:PRINT "<UNK! {00F8}>"
  208. 2080  '
  209. 2090  '.....azimuth
  210. 2100  AZ=180-AZ
  211. 2110  AZ(1)=AZ
  212. 2120  '
  213. 2130  '.....SUNSET
  214. 2140  '.....setting phenomena
  215. 2150  I=1
  216. 2160  J=PI*1.5
  217. 2170  GOSUB 2570
  218. 2180  '
  219. 2190  '.....local solar time
  220. 2200  R=-0.0145439
  221. 2210  GOSUB 3030
  222. 2220  SUNS=V+W/60   'sunset - decimal hours
  223. 2230  LOCATE 3,CB+2:PRINT V$;SPC(7);USING "##.#";SUNS-SUNR;:PRINT " hrs."
  224. 2240  '
  225. 2250  '.....local standard time
  226. 2260  W$=V$:ADD=LST
  227. 2270  GOSUB 4210
  228. 2280  LOCATE 4,CB+2:PRINT W$;PM$
  229. 2290  '
  230. 2300  '.....daylight savings time
  231. 2310  ADD=DST
  232. 2320  IF ADD=0 THEN W$="N/A":GOTO 2340
  233. 2330  GOSUB 4210
  234. 2340  LOCATE 5,CB+2:PRINT W$;
  235. 2350  IF W$<>"N/A"THEN PRINT PM$ ELSE PRINT ""
  236. 2360  '
  237. 2370  '.....UTC
  238. 2380  V=U:FLAG=1:GOSUB 3290
  239. 2390  LOCATE 6,CB+2:PRINT V$;"z"
  240. 2400  '
  241. 2410  '.....declination
  242. 2420  DCL=Q*180/PI
  243. 2430  NOON=(NOON+DCL)/2      'approx declination at noon
  244. 2440  LOCATE 7,CB+1:PRINT USING "+##.###";DCL;:PRINT "<UNK! {00F8}>"
  245. 2450  '
  246. 2460  '.....azimuth
  247. 2470  AZ=180+AZ
  248. 2480  AZ(2)=AZ
  249. 2490  '
  250. 2500  GOSUB 3710     'draw radar screen
  251. 2510  GOTO 4350      'end
  252. 2520  END
  253. 2530  '
  254. 2540  '
  255. 2550  '.....SUB ROUTINES
  256. 2560  '
  257. 2570  '.....approximate time
  258. 2580  K=H+((J+LONG)/(PI*2))
  259. 2590  '
  260. 2600  '.....solar mean anomaly
  261. 2610  L=K*0.017202
  262. 2620  L=L-0.0574039
  263. 2630  '
  264. 2640  '.....solar true longitude
  265. 2650  Z=SIN(L)
  266. 2660  M=L+0.0334405*Z
  267. 2670  Z=SIN(2*L)
  268. 2680  M=M+0.000349065*Z
  269. 2690  M=M+4.93289
  270. 2700  '
  271. 2710  '.....quadrant determination
  272. 2720  Z=M
  273. 2730  GOSUB 3620
  274. 2740  M=Z
  275. 2750  X=M/(PI/2)
  276. 2760  Y=INT(X)
  277. 2770  Z=X-Y
  278. 2780  IF Z<>0 THEN 2800
  279. 2790  M=M+4.847E-06
  280. 2800  N=2
  281. 2810  IF M>(PI*1.5) THEN 2870
  282. 2820  N=1
  283. 2830  IF M>(PI/2) THEN 2870
  284. 2840  N=0
  285. 2850  '
  286. 2860  '.....solar right ascension
  287. 2870  P=0.91746*TAN(M)
  288. 2880  P=ATN(P)
  289. 2890  '
  290. 2900  '.....quadrant adjustment
  291. 2910  IF N=0 THEN 2980
  292. 2920  IF N=2 THEN 2950
  293. 2930  P=P+PI
  294. 2940  GOTO 2980
  295. 2950  P=P+PI*2
  296. 2960  '
  297. 2970  '.....solar declination
  298. 2980  Q=0.39782*SIN(M)
  299. 2990  Q=Q/SQR(-Q*Q+1)
  300. 3000  Q=ATN(Q)
  301. 3010  RETURN
  302. 3020  '
  303. 3030  '.....coordinate conversion
  304. 3040  S=R-(SIN(Q)*SIN(LAT))
  305. 3050  S=S/(COS(Q)*COS(LAT))
  306. 3060  '
  307. 3070  '.....null phenomenon
  308. 3080  Z=ABS(S)
  309. 3090  IF Z<=1 THEN 3130
  310. 3100  V=0
  311. 3110  RETURN
  312. 3120  '
  313. 3130  '.....adjustment
  314. 3140  S=S/SQR(-S*S+1)
  315. 3150  S=-ATN(S)+PI/2
  316. 3160  IF I=1 THEN 3190
  317. 3170  S=PI*2-S
  318. 3180  '
  319. 3190  '.....local apparent time
  320. 3200  Z=0.0172028*K
  321. 3210  T=S+P-Z-1.73364
  322. 3220  '
  323. 3230  '.....universal time
  324. 3240  U=T+LONG
  325. 3250  '
  326. 3260  '.....wall clock time
  327. 3270  V=U-ZONE
  328. 3280  '
  329. 3290  '.....decimal to sexagesimal
  330. 3300  Z=V
  331. 3310  GOSUB 3620
  332. 3320  Z=Z*3.81972
  333. 3330  IF FLAG=1 THEN FLAG=0:GOTO 3430
  334. 3340  '
  335. 3350  '.....azimuth
  336. 3360  HR=(12-Z)*15       'hour angle in degrees
  337. 3370  HRA=HR*PI/180               'hour angle in radians
  338. 3380  X=SIN(Q)*COS(LAT)-COS(Q)*SIN(LAT)*COS(HRA)
  339. 3390  ZA=ATN(X/SQR(-X*X+1))+PI/2  'azimuth in radians
  340. 3400  AZ=ZA*180/PI                'azimuth in degrees
  341. 3410  IF AZ<0 THEN AZ=AZ+360
  342. 3420  '
  343. 3430  V=INT(Z)
  344. 3440  W=(Z-V)*60
  345. 3450  X=INT(W)
  346. 3460  Y=W-X
  347. 3470  IF Y<0.5 THEN 3490
  348. 3480  X=X+1
  349. 3490  IF X<60 THEN 3530
  350. 3500  V=V+1
  351. 3510  X=0
  352. 3520  '
  353. 3530  '.....conventional format
  354. 3540  Z$="00"
  355. 3550  HR$=MID$(STR$(V),2)
  356. 3560  HR$=RIGHT$(Z$+HR$,2)
  357. 3570  MI$=MID$(STR$(X),2)
  358. 3580  MI$=RIGHT$(Z$+MI$,2)
  359. 3590  V$=HR$+":"+MI$
  360. 3600  RETURN
  361. 3610  '
  362. 3620  '.....normalization
  363. 3630  IF Z>=0 THEN 3660
  364. 3640  Z=Z+PI*2
  365. 3650  GOTO 3620
  366. 3660  IF Z<PI*2 THEN 3690
  367. 3670  Z=Z-PI*2
  368. 3680  GOTO 3660
  369. 3690  RETURN
  370. 3700  '
  371. 3710  '.....radar screen
  372. 3720  R=7      'radial
  373. 3730  H=R^2/2  '1/2 square of hypotenuse
  374. 3740  X=41     'x-axis
  375. 3750  Y=16     'y-axis
  376. 3760  XY=2.34375  'xy ratio
  377. 3770  FOR Z=Y-R TO Y+R
  378. 3780   LOCATE Z,X-18
  379. 3790   PRINT STRING$(37,"CSRLIN");
  380. 3800  IF Z<Y+R THEN PRINT ""
  381. 3810  NEXT Z
  382. 3820  COLOR 11,7
  383. 3830  FOR Z=Y-R TO Y+R:LOCATE Z,X:PRINT "CALL":NEXT Z
  384. 3840  FOR Z=X-18 TO X+18:LOCATE Y,Z:PRINT "SOUND":NEXT Z
  385. 3850  COLOR 15,3
  386. 3860  LOCATE Y-R,X-2:PRINT "  N  "
  387. 3870  LOCATE Y-SQR(H),X-(SQR(H)*XY)-1.5:PRINT " NW "
  388. 3880  LOCATE Y-SQR(H),X+(SQR(H)*XY)-1.5:PRINT " NE "
  389. 3890  LOCATE Y,X-(R*XY)-2:PRINT "  W  "
  390. 3900  COLOR 15,1
  391. 3910  LOCATE Y,X-4:PRINT " AZIMUTH "
  392. 3920  COLOR 15,3
  393. 3930  LOCATE Y,X+(R*XY)-2:PRINT "  E  "
  394. 3940  LOCATE Y+SQR(H),X-(SQR(H)*XY)-1.5:PRINT " SW "
  395. 3950  LOCATE Y+SQR(H),X+(SQR(H)*XY)-1.5:PRINT " SE "
  396. 3960  LOCATE Y+R,X-2:PRINT "  S  ";
  397. 3970  IF SGN(LAT)=-1 THEN A=10:B=22 ELSE A=22:B=10
  398. 3980  COLOR 14,7:LA=ABS(LAT*180/PI):EL=90-LA+NOON
  399. 3990  IF EL>90 THEN EL=180-EL:SWAP A,B
  400. 4000  LOCATE A,29
  401. 4010  PRINT "Elevation of Noon sun:";USING "###";EL;
  402. 4020  PRINT "<UNK! {00F8}>";
  403. 4030  COLOR 7,0
  404. 4040  '
  405. 4050  '....BRG = bearing
  406. 4060  FOR Z=1 TO 2
  407. 4070  BRG=AZ(Z)-90            'bearing in degrees
  408. 4080  HDG=BRG*PI/180          'bearing in radians
  409. 4090  YY=SIN(HDG)*R
  410. 4100  XX=CINT(COS(HDG)*R*XY)
  411. 4110  COLOR 14,1
  412. 4120  LOCATE Y+YY,X+XX-1
  413. 4130  PRINT " * ";
  414. 4140  COLOR 14,0
  415. 4150  IF Z=1 THEN LOCATE Y+YY,X+20:PRINT"SUNRISE @";USING "####";AZ(1);:PRINT "<UNK! {00F8}>"
  416. 4160  IF Z=2 THEN LOCATE Y+YY,X-32:PRINT"SUNSET @";USING "####";AZ(2);:PRINT "<UNK! {00F8}>"
  417. 4170  NEXT Z
  418. 4180  COLOR 7,0
  419. 4190  RETURN
  420. 4200  '
  421. 4210  '.....political time
  422. 4220  LT=VAL(LEFT$(W$,2)):        RT=VAL(RIGHT$(W$,2))
  423. 4230  LT=LT+INT(ADD):             RT=(RT+(ADD-INT(ADD))*60)
  424. 4240  IF RT>=60 THEN RT=60-RT:LT=LT+1
  425. 4250  IF LT=24 THEN LT=12:GOTO 4280
  426. 4260  IF LT>24 THEN LT=LT-12:PM$=AM$
  427. 4270  IF LT>12 THEN LT=LT-12
  428. 4280  LT$=STR$(LT):               RT$=STR$(RT)
  429. 4290  LT$=RIGHT$(LT$,LEN(LT$)-1): RT$=RIGHT$(RT$,LEN(RT$)-1)
  430. 4300  IF LEN(LT$)<2 THEN LT$=" "+LT$:GOTO 4300
  431. 4310  IF LEN(RT$)<2 THEN RT$="0"+RT$:GOTO 4310
  432. 4320  W$=LT$+":"+RT$
  433. 4330  RETURN
  434. 4340  '
  435. 4350  '.....end
  436. 4360  GOSUB 4400
  437. 4370  GOTO 180   'start
  438. 4380  END
  439. 4390  '
  440. 4400  'HARDCOPY
  441. 4410  GOSUB 4520:LOCATE 25,2:COLOR 14,6
  442. 4420  PRINT " Press 1 to print screen, 2 to print screen & ";
  443. 4430  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  444. 4440  Z$=INKEY$:IF Z$="3"THEN GOSUB 4520:RETURN
  445. 4450  IF Z$="1"OR Z$="2"THEN GOSUB 4520:GOTO 4470
  446. 4460  GOTO 4440
  447. 4470  FOR QX=1 TO 24:FOR QY=1 TO 80
  448. 4480  LPRINT CHR$(SCREEN(QX,QY));
  449. 4490  NEXT QY:NEXT QX
  450. 4500  IF Z$="2"THEN LPRINT CHR$(12)
  451. 4510  GOTO 4410
  452. 4520  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  453.